Target-seeking control method and system for mobile robots

ABSTRACT

The target-seeking control method and system for mobile robots uses a raw, ultrasonic sensory signal. The present method carries-out reasoning and decision-making in a subjective environment (SE) on-board the robot. This environment has only two links to the objective environment (OE) in which the robot is operating. If the robot is at a safe place in a SE, then it is at a safe place in the corresponding OE. If the robot reaches the target in a SE, then it reaches the target in the corresponding OE, The present method uses relaxed potential fields to base enroute mobility on safety, only without having to accurately estimate the geometry of the surrounding environment, thereby significantly reducing structure complexity and increasing its reliability.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to robotics, and particularly to a target-seeking control method and system for mobile robots using relaxed field techniques to successfully guide the robot in known and unknown environments.

2. Description of the Related Art

Mobile robots have become indispensable in modern life activities. A considerable part of mobile robot activities involves operations in structured, predictable, even known environments (factory floors, warehouses, etc.). However, many applications require the robot to operate in unstructured and unknown environments. In extreme cases, such as first response in disaster areas, a mobile robot is required to provide informational access to the crew by going to the troubled spot in an unstructured and unknown environment as soon as possible. In such cases, the timely information the robot provides is probably more valuable than the robot itself.

This is a challenging problem, since all techniques designed for practical autonomous robots in unknown environments require an exploration and map-building stage before a robot can actually move to the required target zone. In a time-critical task, mandating a map-building stage in the manner an autonomous robot is required to function is self-defeating. Also, existing approaches designed for unknown environments require the robot to be equipped with a variety of expensive sensing capacities (e.g., laser scanners, omnidirectional cameras, etc.). This is highly undesirable in situations where the probability of retrieving the robot is low. Ultrasonic sensors are probably the most suitable choice, cost-wise, for such situations. However, there is a widespread belief in the area of autonomous robotics that ultrasonic signals are not useful for navigating robots in random unstructured environments with scattered irregular obstacles.

Thus, a target-seeking control method and system for mobile robots solving the aforementioned problems is desired.

SUMMARY OF THE INVENTION

The target-seeking control method and system for mobile robots uses a raw, ultrasonic sensory signal. The present method carries out reasoning and decision-making in a subjective environment (SE) on-board the robot. This environment has only two links to the objective environment (OE) in which the robot is operating. If the robot is at a safe place in a SE, then it is at a safe place in the OE. If the robot reaches the target in a SE, then it reaches the target in the OE. The present method uses relaxed potential fields to base enroute mobility on safety, only without having to accurately estimate the geometry of the surrounding environment, thereby significantly reducing structure complexity and increasing its reliability.

These and other features of the present invention will become readily apparent upon further review of the following specification and drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a flowchart showing ultrasonic navigation control structure in a target-seeking control method for mobile robots according to the present invention.

FIG. 2 is a block diagram showing control signal generation from the guidance signal in a target-seeking control method and system for mobile robots according to the present invention.

FIG. 3 is a perspective view of the mobile platform used in the target-seeking control method and system for mobile robots according to the present invention.

FIG. 4 is a plot showing discretized descriptors in a SE (subjective environment) in a target-seeking control method for mobile robots according to the present invention.

FIG. 5 is a top plan view showing the differential drive robot used in the target-seeking control method and system for mobile robots according to the present invention.

FIG. 6 is a block diagram showing the relationship between the subjective environment (SE) and the objective environment (OE) of the mobile platform used by the target-seeking control method and system for mobile robots according to the present invention.

FIG. 7 is a plot showing an exemplary trajectory generation by the relaxation procedure in fully known environments in the target-seeking control method and system for mobile robots according to the present invention.

FIG. 8 is a plot showing an exemplary sensor-based trajectory generation by the relaxation procedure in the target-seeking control method and system for mobile robots according to the present invention.

FIG. 9A is a plot showing an exemplary guidance signal in the target-seeking control method and system for mobile robots according to the present invention.

FIG. 9B is a plot showing the converted wheel speed control signals from the guidance signal of FIG. 9A in the target-seeking control method and system for mobile robots according to the present invention.

FIG. 10A is a plot showing exemplary guidance in the target-seeking control method and system for mobile robots according to the present invention.

FIG. 10B is a plot showing exemplary control in the target-seeking control method and system for mobile robots according to the present invention.

FIGS. 11A, 11B are exemplary plots showing obstacles to avoid and the resultant trajectory, respectively, in the target-seeking control method and system for mobile robots according to the present invention.

FIGS. 11C, 11D present video captures showing the mobile platform successfully avoiding the obstacles of FIGS. 11A, 11B in the target-seeking control method and system for mobile robots according to the present invention.

FIG. 12 is a perspective view showing the mobile platform at the beginning of an obstacle course in the target-seeking control method and system for mobile robots according to the present invention.

FIG. 13 is a perspective view showing successive positions of the mobile platform successfully navigating the obstacle course in the target-seeking control method and system for mobile robots according to the present invention.

FIG. 14 is a plot showing an exemplary subjective map of the final environment in the target-seeking control method and system for mobile robots according to the present invention.

FIG. 15 is a plot showing an exemplary final guidance field corresponding to the final environment of FIG. 14 in the target-seeking control method and system for mobile robots according to the present invention.

FIG. 16 is a diagram showing an exemplary objective map corresponding to the subjective map of FIG. 14 in the target-seeking control method and system for mobile robots according to the present invention.

FIG. 17 is an exemplary plot showing signals from the mobile platform's ultrasonic sensor in the target-seeking control method and system for mobile robots according to the present invention.

Similar reference characters denote corresponding features consistently throughout the attached drawings.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

The target-seeking control method for mobile robots uses a raw, ultrasonic sensory signal. The present method carries out reasoning and decision-making in a subjective environment (SE) 600 a (shown in FIG. 6) on-board the robot. This environment has only two links to the objective environment (OE) 600 b in which the robot is operating. Link 1 provides that if the robot is at a safe place in a SE, then it is at a safe place in the corresponding OE. Link 2 provides that if the robot reaches the target in a SE, then it reaches the target in the corresponding OE.

The present method uses relaxed potential fields to base enroute mobility on safety, only without having to accurately estimate the geometry of the surrounding environment, thereby significantly reducing structure complexity and increasing its reliability.

While the use of scalar potential fields to aid robotic navigation is known in the art, the present target-seeking control method utilizes full and partial field relaxation procedures to relax the potential fields, thereby improving robotic navigation performance in both known and unknown environments. Typical motion equations of a velocity-controlled differential drive robot, such as the robot 300 shown in FIGS. 3 and 5, are:

$\begin{matrix} {{\begin{matrix} {\begin{bmatrix} {\overset{.}{X}s} \\ {\overset{.}{Y}s} \\ {\overset{.}{\theta}s} \end{bmatrix} = {{\begin{bmatrix} {\cos \left( {\theta \; s} \right)} & 0 \\ {\sin \left( {\theta \; s} \right)} & 0 \\ 0 & 1 \end{bmatrix}\begin{bmatrix} v \\ \omega \end{bmatrix}}\begin{bmatrix} v \\ \omega \end{bmatrix}}} \\ {= {\begin{bmatrix} \frac{r}{2} & \frac{r}{2} \\ \frac{r}{W} & \frac{- r}{W} \end{bmatrix}\begin{bmatrix} \omega_{R} \\ \omega_{L} \end{bmatrix}}} \end{matrix}\begin{bmatrix} \omega_{R} \\ \omega_{L} \end{bmatrix}} = {{\begin{bmatrix} \frac{1}{r} & \frac{W}{2r} \\ \frac{1}{r} & \frac{- W}{2r} \end{bmatrix}\begin{bmatrix} v \\ \omega \end{bmatrix}}.}} & (1) \end{matrix}$

The exemplary robot 300 is an X80 Pro manufactured by Dr Robot™ (Dr. Robot is a registered trademark of Dr. Robot, Inc. of Ontario, Canada). It has a distributed computation robotic architecture that enables high-level control of the robot to be maintained by a remote or local PC/server, such as exemplary computer 303, communicating by a secure wireless link, e.g., WIFI. Low-level functionality of the robot 300 is managed by an onboard digital signal processor (DSP), while computationally intensive operations are performed outboard by the exemplary computer 303.

The control signals (ωcR, ωcL) that are fed to the controller of the robot are generated by the control structure 100 a, whose flowchart is shown in FIG. 1 and described in Table 10. As shown in FIG. 4, SE discrete descriptors V(ij) and DSE(Ij) 400 describe the unsafe regions DSE and generate the guidance signal V. All variables are defined in the glossary, below.

In order to employ the relaxed potential fields, the present target-seeking control method performs an initialization stage. The glossary of symbols and abbreviations is provided in Table 1. The initialization stage is described in Table 2.

TABLE 1 Glossary of Symbols and Abbreviations Symbol Definition OE Objective environment in which the robot physically exists SE Subjective environment created by the sensory signal and used to synthesize the motion of the robot X, Y Coordinates of the OE (world coordinates) Xs, Ys Coordinates of the SE Θs Robot orientation in SE with respect to Xs XT, YT Coordinates of the target in OE XTs, YTs Coordinates of the target in SE DSE(I, j) Matrix with N × N elements representing the discrete SE V(I, j) Matrix with N × N elements containing scalar potential field N The width of DSE in samples Its, JTs Target discrete coordinates in SE D Physical dimensions of SE which determines the perimeter of operation of the robot Δ Discretization step of SE S Obstacle distance reading from ultrasonic sensor Sm maximum range of the ultrasonic sensor Io, Jo Obstacle location in DSE that is mapped from the ultrasonic sensor reading Im Margin of safety in discrete location surrounding Io, Jo (Im ≦ 2) Ir Local relaxation zone in DSE (Ir ≧ 7) L Number of iteration used for relaxation ΔT Discrete time step ν Tangential speed of the robot ω Angular speed of the robot νd Desired tangential speed of the robot ωd Desired angular speed of the robot ωR, ωL Right and left angular speeds of the robot's wheels ωcR, ωcL Right and left signals to control the angular speeds of the robot's wheels Gx, Gy X & Y components of the unit magnitude guidance vector in SE [Z] The rounding function. It converts the number Z into its nearest integer W Robot width (distance between the wheels of the robot) r Radius of the robot's wheels δ A small positive number (|δ| << 1) Rc Radius of a circle surrounding target. Only the target exist inside the circle (no obstacles present)

TABLE 2 Steps of the Initialization Stage INIT STEP Function 1 Supply the target point in SE (XTs, YTs) that corresponds to the target in OE (XTs, YTs) which you want the robot to go to 2 Supply D and the resolution Δ. Compute N=[D/ Δ] 3 Compute ITs=[N/2] + [XTs/ Δ], JTs=[N/2]+[YTs/ Δ] 4 Set Xs=0, Ys=0, θs=0 5 Set ωcR=0, ωcL=0, 6 Set desired tangential and angular speeds of the robot νd , ωd 7 Set a value of L. Any value will do; however a practical value of L should be determined based on the value of N 8 Set a safety margin Im; a value 2 or less is sufficient. Set a local relaxation zone Ir; a value of 11 or higher is sufficient 9 Initialize DSE as follows: a. First set all values in DSE to ½ b. Set DSE(ITs, JTs) = 0 c. For all values of i setDSE(i, N) = 1, DSE(i, 1) = 1, DSE(N, i) = 1, DSE(1, i) = 1 10  Set V(i,j) = DSE(i,j) for all values of i and j

The full field relaxation stage is described in Table 3.

TABLE 3 Steps of the Full Field Relaxation Stage FFR STEP Function 1 K=1 2 Loop until K=L 3 For i=2 to N−1, 4 For j=2 to N−1 5 IF DSE(i,j) equal ½, V(i, j) = ¼(V(i − 1, j) + V(i + 1, j) + V(i, j − 1) + V(i, j+)) , end 6 End 7 End 8 K=K+1

The process robot feedback stage is described in Table 4.

TABLE 4 Steps of the Process Robot Feedback Stage PRF STEP Function 1 Read robot wheel speeds: ωR, ωL 2 $\quad\begin{matrix} {{{Compute}\mspace{14mu} {tangential}\mspace{14mu} {and}\mspace{14mu} {angular}\mspace{14mu} {speeds}\mspace{14mu} {of}\mspace{14mu} {{robot}\mspace{14mu}\begin{bmatrix} v \\ \omega \end{bmatrix}}} =} \\ {r \cdot {\begin{bmatrix} \frac{1}{2} & \frac{1}{2} \\ \frac{1}{W} & {- \frac{1}{W}} \end{bmatrix}\begin{bmatrix} {\omega R} \\ {\omega L} \end{bmatrix}}} \end{matrix}$ 3 If S > Sm then no obstacle is detected by sensor; else the sensor detected an obstacle

The record obstacle stage is described in Table 5.

TABLE 5 Steps of the Record Obstacle Stage RO STEP Function 1 ${{Io} = \left\lbrack \frac{{Xs} + {S \cdot {\cos \left( {{\theta s} + \delta} \right)}}}{\Delta} \right\rbrack},{{Jo} = \left\lbrack \frac{{Xs} + {S \cdot {\sin \left( {{\theta s} + \delta} \right)}}}{\Delta} \right\rbrack}$ 2 for i=Io−Im to Io+Im  for j=Jo−Im to Jo+Im   If 2≦i≦N−1 and 2≦j≦N−1 and DSE(I,j)≠0, DSE(I,j)=1, end  end end

The partial field relaxation stage is described in Table 6.

TABLE 6 Steps of the Partial Field Relaxation Stage PFR STEP Function 1 K=1 2 Loop until K=L 3 For i=Io−Ir to Io+Ir 4 For j=Jo−Ir to Jo+Ir 5 If 2≦ i ≦N−1 and 2≦ j ≦N−1 6 If DSE(i,j) equal ½, V(i, j) = ¼(V(i − 1, j) + V(i + 1, j) + V(i, j − 1) + V(i, j+)) , end 7 end 8 end 9 end 10 K=K+1

Full domain relaxation may be used after the above stage at highly reduced number of iterations L1<<L (e.g. if L=2000, L1=200).

The get guidance signal stage is described in Table 7.

TABLE 7 Steps of the Get Guidance Signal Stage GGS STEP Function 1 ${i = {\left\lbrack \frac{N}{2} \right\rbrack + \left\lbrack \frac{Xs}{\Delta} \right\rbrack}},{j = {\left\lbrack \frac{N}{2} \right\rbrack + \left\lbrack \frac{Ys}{\Delta} \right\rbrack}}$ 2 Gx = −(V(i + 1, j) − 2V(i, j) + V(i − 1, j)), Gy = −(V(i, j + 1) − 2V(i, j) + V(i, j − 1)) 3 C = {square root over (Gx² + Gy²)} 4 Gx = Gx/C, Gy = Gy/C

The update robot variables stage is described in Table 8.

TABLE 8 Steps of the Update Robot Variables Stage URV STEP Function 1 νx = ν · cos(θs) , νy = ν · sin(θs) 2 Xs = Xs + ΔT · νx , Ys = Ys + ΔT · νy 3 θs = θs + ΔT · ω

The generate control signal (GCS) stage is described in Table 9. The GCS system 100 b is shown in FIG. 2. Tangential speed computation block 102 includes a tangential speed computation input and a tangential speed command output, v_(c). The desired angular speed computation block 105 includes desired angular speed computation inputs and a desired angular speed output, ωc. A wheel speed control block 106 is connected to the tangential speed computation block 102 and the desired angular speed computation block 105, the wheel speed control block accepting as inputs the tangential speed command, v_(c) and the desired angular speed, ωc, outputting independent wheel speed commands to the wheels of the robot 300. A speed computation block 108 computes the robot's speed,

$\begin{bmatrix} v_{x} \\ v_{y} \end{bmatrix},$

in a SE. An integrator block 110 is connected to the speed computation block 108 and computes the robot's position,

$\begin{bmatrix} x_{s} \\ y_{s} \end{bmatrix},$

in a SE based on the robot's SE speed,

$\begin{bmatrix} v_{x} \\ v_{y} \end{bmatrix}.$

A guidance command block 112 accepts as inputs the robot's environment, the target's position, and the robot's position,

$\begin{bmatrix} x_{s} \\ y_{s} \end{bmatrix},$

the guidance command block 112 outputting guidance signals, Gx, Gy.

Feedback to the desired angular speed computation block 105 includes a dot product of the guidance signals Gx, Gy and the robot's speed,

$\begin{bmatrix} v_{x} \\ v_{y} \end{bmatrix},$

a cross product of the guidance signals Gx, Gy and the robot's speed,

$\begin{bmatrix} v_{x} \\ v_{y} \end{bmatrix},$

the magnitude of the robot's speed

${\begin{bmatrix} v_{x} \\ v_{y} \end{bmatrix}},$

and the guidance signals, Gx, Gy. Feedback to the tangential speed computation block 102 includes a difference signal between the target position and the robot's position

$\begin{bmatrix} x_{s} \\ y_{s} \end{bmatrix}.$

TABLE 9 Steps of the Generate Control Signal Stage GCS STEP Function 1 ${\eta_{d} = \frac{{{Gx} \cdot {vx}} + {{Gy} \cdot {vy}}}{\sqrt{{vx}^{2} + {vy}^{2}}}},{\eta_{c} = \frac{{{Gx} \cdot {vy}} - {{Gy} \cdot {vx}}}{\sqrt{{vx}^{2} + {vy}^{2}}}}$ 2 dst = {square root over ((Xs − XTs)² + (Ys − YTs)²)} 3 ${vc} = {{vd} \cdot \left\lbrack {\begin{matrix} 1 & {{dst} > {Rc}} \\ \frac{dst}{Rc} & {{dst} \leq {Rc}} \end{matrix},{{\omega c} = {{\omega d} \cdot \left\lbrack \begin{matrix} \eta_{c} & {\eta_{d} > 0} \\ {+ 1} & {\eta_{c} > {0\mspace{14mu} {and}\mspace{14mu} \eta_{d}} < 0} \\ {- 1} & {\eta_{c} < {0\mspace{14mu} {and}\mspace{14mu} \eta_{d}} < 0} \end{matrix} \right.}}} \right.}$ 4 $\begin{bmatrix} {\omega CR} \\ {\omega CL} \end{bmatrix} = {\frac{1}{r} \cdot {\begin{bmatrix} 1 & \frac{W}{2} \\ 1 & {- \frac{W}{2}} \end{bmatrix}\begin{bmatrix} {vc} \\ {\omega c} \end{bmatrix}}}$

TABLE 10 Control Structure Steps (CONSS) CONSS STEP Function 1 Initialize 2 Perform full field relaxation 3 Process robot feedback 4 Determine whether an obstacle is detected (Y/N) If Y goto step 5; If N goto step 7 5 Record obstacle 6 Perform partial field relaxation 7 Get guidance signal 8 Update robot variables 9 Generate control signal 10 Control robot according to the control signal 11 Determine whether the robot stopped (Y/N) If N goto step 3; If Y goto step 12 12 Determine whether the target has been reached (Y/N) If Y goto step 13; If N goto step 2 13 STOP

The full and partial field relaxation stages assure that a robot can reach a target zone from the first attempt without the need for map-building. Moreover, the control structure can reliably utilize even one ultrasonic sensor to extract the necessary and sufficient information needed to navigate the robot in an unknown and unstructured environment. The aforementioned processing stages of the present target-seeking control method are fully autonomous. In other words, no external intervention by an operator is needed starting from the sensory signal from which the robot acquires information about the environment and ending with the control signal that is fed to the robot's actuator of motion (wheels' control speed). The aforementioned processing stages overcome problems associated with actuator saturation, sensor noise and limited computational capabilities.

The present method still allows operator input of available partial knowledge about the environment in the robot's database in order to expedite task execution. The control signal developed by the present method and fed to the actuators of the robot is a well-behaved continuous control signal, in contrast with prior art techniques for controlling nonholonomic robots (such as the differential drive robot), which use discontinuous control signals. A well-behaved control signal reduces the energy drain and the probability of actuator failure.

Additionally, the present method provides good performance, even when a very simple dead-reckoning localization procedure is used (i.e., robot position extracted by counting the number of time robots wheels turn). The structure can decouple the computational demands during the execution (hard-time) from the size of the workspace and make it proportional at an instant of time to the amount of environmental components (obstacles) that are discovered.

Plot 700 of FIG. 7, shows the ability of the global relaxation procedure to mark a trajectory to the target when an environment is fully-known. Plot 800 of FIG. 8 demonstrates the ability of the relaxation procedure to generate a trajectory to the target while the obstacles are being acquired using highly localized sensing.

The ability of the “generate control signal” GCS stage 100 b to convert the guidance signal to a control signal for the robot's wheels is shown in plot 900 b of FIG. 9B. The guidance field generated from the relaxation stage for a fully-known environment is operated on by the control generating stage. The speeds of the wheels that generate the trajectory (shown in plot 900 a of FIG. 9A) are well-behaved.

The ability of the control generation stage to yield the needed control signals while the trajectory of the robot is being updated using the sensory feedback is shown in guidance plot 1000 a of FIG. 10A and control plot 1000 b of FIG. 10B. Guidance plot 1000 a shows the path marked by a point holonomic robot that is exactly following the guidance signal (normalized gradient field of V), while the path illustrated in control plot 1000 b shows the robot's path generated by converting the guidance signal into wheel speed control signals.

The ability of the control structure 100 a to generate motion for the X80 robot 300 from full information about the location of the obstacles is demonstrated in FIGS. 11A, 11B where plot 1102 a shows the environmental and object fields and plot 1102 b shows the plotted trajectory around the object fields. FIGS. 11C, 11D show the robot 300 at the navigation start point 1104 a and at the navigation end point 1104 b.

The “not a priori known” start point and environment 1200 is shown in FIG. 12. The ability of the control structure 100 a to move the X80 robot 300 to a target point under zero initial information about the environment, i.e., not a priori known, while using only one front ultrasonic sensor is shown in the course 1300 of FIG. 13.

Plot 1600 b of FIG. 14 shows the final subjective environment created by accumulating the sensor data. The trajectory the robot took is superimposed on the environment map. Plot 1500 of FIG. 15 shows the corresponding final guidance field with the trajectory superimposed on it. As can be seen, although the robot's path was well-behaved and kept a good distance away from the obstacle, the recorded objective map 1600 a shown in FIG. 16 significantly deviates from the subjective map 1600 b of the environment shown in FIG. 14. The signal from the sensor used to build the SE map is shown in plot 1700 of FIG. 17.

It should be understood by one of ordinary skill in the art that embodiments of the present target-seeking control method and system for mobile robots including control structure 100 a and/or the GCS system 100 b can comprise software or firmware code executing on a computer, a microcontroller, a microprocessor, or a DSP processor; state machines implemented in application specific or programmable logic; or numerous other forms, and is in operable communication with a robot, such as computer system 303 communicating with robot 300 for signal exchange between the processor, robotic drive components, robotic navigation components, and robotic sensor components without departing from the spirit and scope of the present invention. Moreover, the computer could be designed to be on-board the robot 300. The present target-seeking control method for mobile robots can be provided as a computer program, which includes a non-transitory machine-readable medium having stored thereon instructions that can be used to program a computer (or other electronic devices) to perform a process according to the methods. The machine-readable medium can include, but is not limited to, floppy diskettes, optical disks, CD-ROMs, and magneto-optical disks, ROMs, RAMs, EPROMs, EEPROMs, magnetic or optical cards, flash memory, or other type of media or machine-readable medium suitable for storing electronic instructions.

It is to be understood that the present invention is not limited to the embodiments described above, but encompasses any and all embodiments within the scope of the following claims. 

We claim:
 1. A target-seeking control method for a mobile robot, comprising the steps of: (a) initializing the robot, its environment, and a target point in a subjective environment (SE) corresponding to the target in an objective environment (OE); (b) setting an iteration number for relaxation of a scalar potential field in the OE defined by operation of a sensor on the robot; (c) setting a margin of safety in discrete location-surrounding obstacles in the OE located by the robot's sensor; (d) initializing a discrete representation of the SE; (e) initializing a representation of the scalar potential field corresponding to the discrete representation of the SE; (f) performing a full field relaxation of the scalar potential field based on the iteration number, whereby the scalar potential field's strength is reduced, the discrete SE representation and the scalar potential field representation being updated accordingly; (g) processing feedback signals applied to the robot; (h) obtaining a guidance signal from a guidance system of the robot; (1) updating variables of the robot; (j) generating a control signal for the robot; (k) applying the control signal to the robot; and (l) applying a stop signal to the robot when the robot has stopped due to the target being reached.
 2. The target-seeking control method for a mobile robot according to claim 1, further comprising the steps of: recording a detected obstacle; and performing a partial field relaxation proximate to the detected obstacle.
 3. The target-seeking control method for a mobile robot according to claim 1, further comprising the steps of: repeating steps (g) through (k) of claim 1 until the robot has stopped; and applying the stop signal to the robot if the robot has stopped due to the target being reached.
 4. The target-seeking control method for a mobile robot according to claim 1, further comprising the steps of: repeating steps (f) through (k) of claim 1 if the robot has stopped without reaching the target; and applying the stop signal to the robot when the robot has stopped due to the target being reached.
 5. A computer software product, comprising a non-transitory medium readable by a processor, the non-transitory medium having stored thereon a set of instructions for performing a target-seeking control method for a mobile robot, the set of instructions including; (a) a first sequence of instructions which, when executed by the processor, causes said processor to initialize the robot, its environment, and a target point in a subjective environment (SE) that corresponds to the target in an objective environment (OE); (b) a second sequence of instructions which, when executed by the processor, causes said processor to set an iteration number for relaxation of a scalar potential field in the OE defined by operation of a sensor on the robot; (c) a third sequence of instructions which, when executed by the processor, causes said processor to set a margin of safety in discrete location surrounding obstacles in the OE located by the robot's sensor; (d) a fourth sequence of instructions which, when executed by the processor, causes said processor to initialize a discrete representation of the SE; (e) a fifth sequence of instructions which, when executed by the processor, causes said processor to initialize a representation of the scalar potential field corresponding to the discrete representation of the SE; (f) a sixth sequence of instructions which, when executed by the processor, causes said processor to perform a full field relaxation of the scalar potential field based on the iteration number, wherein a strength of the scalar potential field is reduced, the discrete SE representation and the scalar potential field representation being updated accordingly; (g) a seventh sequence of instructions which, when executed by the processor, causes said processor to process feedback signals applied to the robot; (h) an eighth sequence of instructions which, when executed by the processor, causes said processor to obtain a guidance signal from a guidance system of the robot; (i) a ninth sequence of instructions which, when executed by the processor, causes said processor to update variables of the robot; (j) a tenth sequence of instructions which, when executed by the processor, causes said processor to generate a control signal for the robot; (k) an eleventh sequence of instructions which, when executed by the processor, causes said processor to apply the control signal to the robot; and (l) a twelfth sequence of instructions which, when executed by the processor, causes said processor to apply a stop signal to the robot when the robot has stopped due to the target being reached.
 6. The computer software product according to claim 5, further comprising: a thirteenth sequence of instructions which, when executed by the processor, causes said processor to record a detected obstacle; and a fourteenth sequence of instructions which, when executed by the processor, causes said processor to perform a partial field relaxation proximate to the detected obstacle.
 7. The computer software product according to claim 5, further comprising: a fifteenth sequence of instructions which, when executed by the processor, causes said processor to repeat set of instructions (g) through (k) of claim 5 until the robot has stopped; and a sixteenth sequence of instructions which, when executed by the processor, causes said processor to apply the stop signal to the robot if the robot has stopped due to the target being reached.
 8. The computer software product according to claim 5, further comprising: a seventeenth sequence of instructions which, when executed by the processor, causes said processor to repeat set of instructions (f) through (k) of claim 5 if the robot has stopped without reaching the target; and an eighteenth sequence of instructions which, when executed by the processor, causes said processor to apply the stop signal to the robot when the robot has stopped due to the target being reached.
 9. A target-seeking control system for a mobile robot, comprising: a tangential speed computation block having a tangential speed computation input, and outputting a tangential speed command, v_(c); a desired angular speed computation block having desired angular speed computation inputs and outputting a desired angular speed, ωc; a wheel speed control block connected to the tangential speed computation block and the desired angular speed computation block, the wheel speed control block accepting as inputs the tangential speed command, v_(c) and the desired angular speed, ωc and outputting independent wheel speed commands to wheels of the robot; a speed computation block computing the robot's speed, $\quad\begin{bmatrix} v_{x} \\ v_{y} \end{bmatrix}$ in SE (subjective environment); an integrator block connected to the speed computation block and computing the robot's position, $\quad\begin{bmatrix} x_{s} \\ y_{s} \end{bmatrix}$ in SE based on the robot's SE speed, $\begin{bmatrix} v_{x} \\ v_{y} \end{bmatrix};$ a guidance command block accepting as inputs the robots environment, the target's position, and the robot's position, $\begin{bmatrix} x_{s} \\ y_{s} \end{bmatrix},$ the guidance command block outputting guidance signals, Gx, Gy; means for using the guidance signals Gx, Gy and the robot's speed $\quad\begin{bmatrix} v_{x} \\ v_{y} \end{bmatrix}$ to form signals applied to the desired angular speed computation inputs; means for using the target position and robot's position $\quad\begin{bmatrix} x_{s} \\ y_{s} \end{bmatrix}$ to form a signal applied to the tangential speed computation input; means for initializing the robot, its environment, and the target point in a subjective environment (SE) that corresponds to the target in an objective environment (OE); means for setting an iteration number for relaxation of a scalar potential field in the OE defined by operation of a sensor on the robot; means for setting a margin of safety in discrete location surrounding obstacles in the OE located by the robot's sensor; means for initializing a discrete representation of the SE; means for initializing a representation of the scalar potential field corresponding to the discrete representation of the SE; means for performing a full field relaxation of the scalar potential field based on the iteration number, whereby the scalar potential field's strength is reduced, the discrete SE representation and the scalar potential field representation being updated accordingly; and means for applying a stop signal to the robot when the robot has stopped due to the target being reached.
 10. The target-seeking control system for a mobile robot according to claim 9, further comprising: means for recording a detected obstacle; and means for performing a partial field relaxation proximate to the detected obstacle.
 11. The target-seeking control system for a mobile robot according to claim 9, further comprising means for performing the full field relaxation of the scalar potential field whenever the robot has stopped without reaching the target. 